/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package proyectocatalina.reportes;

import CapadeDatos.ConexionBD;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.Map;
import javax.swing.JOptionPane;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.util.JRLoader;
import net.sf.jasperreports.view.JasperViewer;



/**
 *
 * @author principal
 */
public class ejecutarficha {
      CapadeDatos.ConexionBD con = new ConexionBD();
      Connection conn=null;
public void ejecutarReporte(String matricula){
      conn = con.getConnection();
   try{

     String archivoreporte= System.getProperty("user.dir") + "/src/proyectocatalina/reportes/fichamatricula.jasper";
     String archivosubreporte = System.getProperty("user.dir") + "/src/proyectocatalina/reportes/";
     //URL url = ejecutarficha.class.getResource("fichamatricula.jasper");
     System.out.println("Cargando desde: " + archivoreporte);
     if(archivoreporte == null){
     System.out.println("No se encuentra el archivo.");
     System.exit(2);}
     JasperReport masterReport = null;


     try{   
         masterReport= (JasperReport) JRLoader.loadObject(archivoreporte);
     }catch (JRException e){System.out.println("Error cargando el reporte maestro: " + e.getMessage());
     System.exit(3);
     }
     Map parametro= new HashMap();
     JOptionPane.showConfirmDialog(null,matricula);
     parametro.put("NumMatricula",matricula);
     JasperPrint jasperPrint= JasperFillManager.fillReport(masterReport,parametro,conn);
     JasperViewer jviewer= new JasperViewer(jasperPrint,false);
     jviewer.setTitle("Instituto de Educación Superior Tecnologica - Catalina Buendia de Pecho - Ficha de Matricula");
     jviewer.setExtendedState(JasperViewer.MAXIMIZED_BOTH);
     jviewer.setVisible(true);

     }catch (Exception j){
             System.out.println("Mensaje de Error:"+j);
     }
   }
public void cerrar(){
    try {
        conn.close();}
    catch (SQLException ex) {ex.printStackTrace();}}
}
